From 757f568bbf0b5d42d5d0458795f57a8133d8511d Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 7 Mar 2007 16:21:21 +0000 Subject: [PATCH] linux: Restore time on APs if they are not hotplugged on save/restore. Signed-off-by: Keir Fraser --- linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c index 9dc489b404..b57ab9bdfe 100644 --- a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c +++ b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c @@ -1022,16 +1022,21 @@ void halt(void) } EXPORT_SYMBOL(halt); -/* No locking required. We are only CPU running, and interrupts are off. */ +/* No locking required. Interrupts are disabled on all CPUs. */ void time_resume(void) { + unsigned int cpu; + init_cpu_khz(); - get_time_values_from_xen(0); + for_each_online_cpu(cpu) { + get_time_values_from_xen(cpu); + per_cpu(processed_system_time, cpu) = + per_cpu(shadow_time, 0).system_timestamp; + init_missing_ticks_accounting(cpu); + } processed_system_time = per_cpu(shadow_time, 0).system_timestamp; - per_cpu(processed_system_time, 0) = processed_system_time; - init_missing_ticks_accounting(0); update_wallclock(); } -- 2.30.2